/**
 * Created by dell on 2018/12/6.
 */
/*
封装静态服务器,别人调用就可以了
 */
const path = require('path');
const fs = require('fs');
const mime = require('./mime.json');
//root路径
exports.staticServer = (req,res,root)=>{
    fs.readFile(path.join(root,req.url),'utf8',(err,data)=> {
        if (err) {
            res.writeHead(404, {
                'Content-Type': 'text/plain;charset=utf8'
            });
            res.end('页面被狗狗叼走了');
        } else {
            //默认文件名
            let dtype = 'text/html';
            //获取请求文件的后缀
            // path.extname()返回path路径文件扩展名
            let ext = path.extname(req.url);
            //如果请求的文件后缀合理，就获取到标准的响应格式
            if (mime[ext]) {
                dtype = mime[ext];
            }
            //如果响应的内容是文本，就设置成utf8编码
            //startswith() 方法用于检查字符串是否是以指定子字符串开头，如果是则返回 True，否则返回 False。
            if (dtype.startsWith('text')) {
                dtype += ';charset=utf8'
            }
            res.end(data);
        }
    });
};